package com.llbnk.springcoding.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface RedLock {
    /**分布式锁key*/
    String key();
    /**锁的持有时间，成功获取锁后，锁会在指定时间后自动释放*/
    int leaseTime() default 2000;
    /**最长等待时间，在此时间内尝试获取所有锁，如果在指定时间内未能获取所有锁，则放弃剩余未获取到的锁*/
    int waitTime() default 200;
}